package com.guigu.yh.springcloud.config;

import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

/**
 * 应用程序上下文配置
 *
 * @author zyh
 * @version 1.0.0
 * @date 2022/08/16
 */
@Configuration
public class ApplicationContextConfig {
    /**
     * 快捷访问http服务模板，交给容器管理
     *
     * @return {@link RestTemplate }
     * @author zyh
     * @date 2022/08/16
     * @version 1.0.0
     */
    @Bean
    //开启负载均衡注解，默认轮询。 集群模式下如果缺少此注解会报错：nested exception is java.net.UnknownHostException: CLOUD-PAYMENT-SERVICE
    //如果使用自己实现的负载均衡规则 如：OrderController.getPaymentLB()方式，则会和当前注解冲突报错：java.lang.IllegalStateException: No instances available for 192.168.0.105
    //@LoadBalanced
    public RestTemplate getRestTemplate(){
        return new RestTemplate();
    }
}
